#pragma once
#include <graphics.h>
#include <memory>

#include "Core.h"

namespace Scene
{
	class Block
	{
	public:
		Block(int index);

		inline int GetIndex() const { return m_Index; }
		inline void Show() const { putimage(m_Xpos, m_Ypos, m_Image.get()); }

		void SetPosition(int x, int y);
		void SetIJ(int i, int j);
		void Move(Dir dir);

		void SetImage(const char* filename, int width, int height);

	private:
		std::shared_ptr<IMAGE> m_Image;

		int m_Index;
		int m_i_Value;
		int m_j_Value;

		int m_Xpos;
		int m_Ypos;
	};

	void CreateScene();
	void UpdateScene(int = 0);
}



